package org.shoukaiseki.common.logger

import org.slf4j.LoggerFactory
import java.util.function.Supplier


/**
 * <br>
 * @author shoukaiseki
 * ブログ http://www.shoukaiseki.top/<br>
 * E-メール jiang28555@Gmail.com<br>
 * @date 2020-11-30 17:01:32<br>
 */
class LoggerTestImpl(obj: Any) : Logger {

    internal var logger: org.slf4j.Logger

    init {
        if (obj is Class<*>) {
            logger = LoggerFactory.getLogger(obj)
        } else {
            logger = LoggerFactory.getLogger(obj.toString())
        }
    }

    override fun getName(): String {
        return logger.name
    }

    override fun trace(var1: String) {

    }

    override fun trace(var1: String, vararg var2: Any) {

    }

    override fun trace(var1: String, var2: Throwable) {

    }

    override fun debug(var1: String) {

    }

    override fun debug(var1: String, vararg var2: Any) {

    }

    override fun debug(var1: String, var2: Throwable) {

    }

    override fun info(var1: String) {

    }

    override fun info(var1: String, vararg var2: Any) {

    }

    override fun info(var1: String, var2: Throwable) {

    }

    override fun warn(var1: String) {

    }

    override fun warn(var1: String, var2: Any) {

    }

    override fun warn(var1: String, vararg var2: Any) {

    }

    override fun warn(var1: String, var2: Throwable) {

    }

    override fun error(var1: String) {

    }

    override fun error(var1: String, var2: Any) {

    }

    override fun error(var1: String, vararg var2: Any) {
        logger.error(var1, *var2)
    }

    override fun error(var1: String, var2: Throwable) {
        logger.error(var1, var2)
    }

    override fun debugLambar(loggerLambda: LoggerLambda?) {
        TODO("Not yet implemented")
    }

    override fun debugLambar(messageSupplier: Supplier<String>?) {
        TODO("Not yet implemented")
    }

    override fun debugLambar(runnable: Runnable?) {
        TODO("Not yet implemented")
    }

    override fun errorLambar(loggerLambda: LoggerLambda?) {
        TODO("Not yet implemented")
    }

    override fun errorLambar(messageSupplier: Supplier<String>?) {
        TODO("Not yet implemented")
    }

    override fun errorLambar(runnable: Runnable?) {
        TODO("Not yet implemented")
    }

    override fun infoLambar(loggerLambda: LoggerLambda?) {
        TODO("Not yet implemented")
    }

    override fun infoLambar(messageSupplier: Supplier<String>?) {
        TODO("Not yet implemented")
    }

    override fun infoLambar(runnable: Runnable?) {
        TODO("Not yet implemented")
    }

    override fun warnLambar(loggerLambda: LoggerLambda?) {
        TODO("Not yet implemented")
    }

    override fun warnLambar(messageSupplier: Supplier<String>?) {
        TODO("Not yet implemented")
    }

    override fun warnLambar(runnable: Runnable?) {
        TODO("Not yet implemented")
    }

    override fun isErrorEnabled(): Boolean {
        TODO("Not yet implemented")
    }

    override fun isInfoEnabled(): Boolean {
        TODO("Not yet implemented")
    }

    override fun isWarnEnabled(): Boolean {
        TODO("Not yet implemented")
    }

    override fun isDebugEnabled(): Boolean {
        TODO("Not yet implemented")
    }
}
